This invention relates to method and apparatus for storage of signal samples, particularly though not exclusively in the demodulation of digital video broadcast (DVB) signals.
There are currently two major types of DVB, namely, terrestrial broadcasting and satellite/cable broadcasting. The invention is particularly, though not exclusively concerned with terrestrial broadcasting, which has special problems, particularly in communication channel impairment, arising from adjacent television channels, multipath, and co-channel interference, for example. A type of transmission which has been developed to meet these problems is known as Coded Orthogonal Frequency Division Multiplexing (COFDM)xe2x80x94see for example xe2x80x9cExplaining Some of the Magic of COFDMxe2x80x9d Stott, J. H.xe2x80x94Proceedings of 20th International Television Symposium, Montreux, June 1997. In COFDM, transmitted data is transmitted over a large number of carrier frequencies (1705 or 6817 for DVB), spaced (by the inverse of the active symbol period) so as to be orthogonal with each other; the data is convolutionally coded, to enable soft-decision (Viterbi) decoding. Metrics for COFDM include Channel State Information (CSI) which represents the degree of confidence in each carrier for reliably transmitting data.
Modulation and Demodulation of the carriers may be carried out by a Fast Fourier Transform (FFT) algorithm performing Discrete Fourier Transform operations. Naturally, various practical problems arise in demodulation in a receiver, firstly in down-converting the transmitted signal in a tuner to a frequency at which demodulation can be carried out, and secondly by accurately demodulating the data from a large number of carriers in a demodulator which is not overly complex or expensive.
In the receiver, frequency offsets may appear after the tuner down-conversation due to oscillator tolerance. Such frequency offset is lethal for signal recovery and frequency has therefore to be tracked by Automatic Frequency Control (AFC). In addition, oscillator phase noise introduces a so-called Common Phase Error (CPE) term, which is a phase offset all carriers bear, and that varies randomly from symbol to symbol. This effect has also to be compensated. Finally, the channel response may not be flat, due to echoes, interferers, and a Channel Equaliser is required to correct for such channel imperfections.
An important consideration in designing a demodulator for incorporation in an integrated circuit chip is reducing the requirements for memory. Bearing in mind the chip may only contain about 1 M Bit of memory, and that signal values for up to about 7000 carrier frequencies may be processed in the chip, this requires tight control over the use of available memory. Certain operations such as Fourier transformation and symbol interleaving require fixed amounts of memory (about 50% of the total). However, other operations such as timing synchronisation, common phase error (CPE) correction, and Channel Equalisation (CE) require some memory but the amount of memory is not fixed.
In our copending application British patent no. 9808992.3, there is claimed an arrangement for reducing memory requirements, including:
transform means for analysing the broadcast signal to provide a series of symbol values for each of the multiplicity of carrier frequencies,
automatic frequency control means for controlling the frequency of said series of signal values in dependence on a common phase error signal from said series of symbol values,
first and second delay means coupled in series to receive said series of symbol values from said transform means, and means for deriving from symbol values in the first and second delay means a common phase error signal,
first and second common phase error correction (CPE) means for receiving said common phase error signal, for correcting said symbol values from said transform means, the output of the first delay means being applied to the first CPE means and the output of the second delay means being applied to said second CPE means,
channel equalisation means for compensating for communication channel impairments for receiving directly the phase error corrected signals from said first CPE means, and third and fourth delay means connected in series and connected to receive the output from said second CPE means and applying delayed versions of the same to the channel equalisation means.
Common phase error requires at least one symbol delay (for each carrier) and channel equalisation may use three symbols delay (for each carrier). However, this arrangement permits the channel equalisation to use only two symbols delay. Whilst this represents a considerable saving in memory, further savings would be desirable.
The present invention is based on the recognition that xe2x80x9cscattered pilotsxe2x80x9d, which form a constituent part of the DVB signal, need not be stored in the channel equalisation step.
Scattered pilots are precisely defined in ETSI standard ETS 300744, para. 4.5.3 and FIG. 11. Put simply, for each of 68 symbols, every 12th carrier (1705 carriers in 2K mode, 6817 carriers in 8K mode) is a scattered pilot signal of boosted power. In successive symbols, the pilot signal positions are incremented by 3 (so that e.g. for symbol S, a pilot is at position k=12, but for symbol S+1, the pilot is at k=15). Scattered pilots are used inter alia for determining the channel response function for channel equalisation. It is not therefore necessary to store them as symbol data. However, because of the rotation of the pilot positions, the pilots cannot simply be deleted from the incoming data without creating confusion and possible loss of data.
Accordingly, the present invention provides in a first aspect, a method of storing symbol data values in a digital video broadcast signal, each symbol comprising a multiplicity of symbol data values including scattered pilot signals, comprising:
providing a write pointer means for writing successive data values for each symbol in successive memory locations, but excluding scattered pilot values, whereby to store symbol data values for at least one symbol,
and providing a read pointer means for reading successive stored data values from successive memory locations, but adding nominal data values at positions of excluded scattered pilots.
In a further aspect, the invention provides apparatus for storing symbol data values in a digital video broadcast signal, each symbol comprising a multiplicity of symbol data values including scattered pilot signals, comprising:
a write pointer means for writing successive data values for each symbol in successive memory locations, but excluding scattered pilot values, for storing symbol data values for at least one symbol,
and a read pointer means for reading successive stored data values from successive memory locations, but adding nominal data values at positions of excluded scatter pilots.
In accordance with the invention, the provision of separate read and write pointer permits the exclusion of scattered pilot signals whilst resolving the problem of maintaining the data values at their correct positions when read from the memory for further processing. A saving of 9% in memory requirements may therefore be achieved, which is a significant saving.
Whilst any number of symbols may be stored, two symbols are the preferred number. The memory locations are preferably stored in a matrix of rows and columns, with a first column storing the first symbol, the data values being entered from a low address to a high address, and any remainder of the first column together with a second column storing the second symbol, with data values being entered from the high address to the low address. In this way, the write pointer continuously circulates around the memory locations, to store the latest two symbols. The read pointer is preferably positioned a predetermined number of memory locations in advance of the write pointer, preferably a minimum of two locations. Thus, the read pointer circulates just in advance of the write pointer, reading stored data just before it is overwritten with new data. The spacing of the pointers permits some variation in their relative position while scattered pilots are excluded, and nominal data subsequently inserted. As preferred, in the initial position of the portions, two memory locations are maintained empty so that writing takes place at the initial position of the read pointer.